#pragma once

#include "obse/obse/CommandTable.h"
#include "obse/obse/ParamInfos.h"

#define DEFINE_CMD_PLUGIN_ALT(name, altName, description, refRequired, paramInfo) \
	CommandInfo (kCommandInfo_ ## name) = { \
		#name, \
		#altName, \
		0, \
		#description, \
		refRequired, \
		SIZEOF_ARRAY(paramInfo, ParamInfo), \
		paramInfo, \
		HANDLER(Cmd_ ## name ## _Execute), \
		NULL, \
		NULL, \
		0 \
	};

static ParamInfo kParams_OneInt_OneInventoryObject[2] = 
{
	{	"int",	kParamType_Integer,			0	},
	{	"item",	kParamType_InventoryObject,	0	},
};

static ParamInfo kParams_OneString_OneInventoryObject[2] = 
{
	{	"str",	kParamType_String,			0	},
	{	"item",	kParamType_InventoryObject,	0	},
};

static ParamInfo kParams_OneInventoryObject_OneInt_OneOptionalInt[3] = 
{
	{	"item",	kParamType_InventoryObject,	0	},
	{	"int",	kParamType_Integer,			0	},
	{	"int",	kParamType_Integer,			1	},
};
